package com.wx.service;


import com.wx.entity.SysAuthority;
import com.wx.entity.SysRoleAuthority;

import java.util.List;

/**
 * <p>Title:      SysRoleAuthorityService. </p>
 * <p>Description TODO </p>
 * <p>Copyright: Copyright (c) 2016</p>
 * <p>Company:    医百科技有限公司 </p>
 *
 * @author         <a href="xinglinglove1029@163.com"/>杨文生</a>
 * @since      2018/1/16 14:50
 */
public interface SysRoleAuthorityService extends BaseService<SysRoleAuthority> {

    /**
     * <p>Title:      batchDeleteByRoleId. </p>
     * <p>Description 根据角色删除权限信息</p>
     *
     * @param         roleId String
     * @return        int
     * @Author        <a href="xinglinglove1029@163.com"/>杨文生</a>
     * @since     2019/6/18 12:09
     */
    int batchDeleteByRoleId(String roleId);

    /**
     * <p>Title:      getAuthorityByRoleIds. </p>
     * <p>Description 根据角色查询权限信息</p>
     *
     * @param       roleIds  List<String>
     * @return        List
     * @Author        <a href="xinglinglove1029@163.com"/>杨文生</a>
     * @since     2019/6/18 11:36
     */
    List<SysAuthority> getAuthorityByRoleIds(List<String> roleIds);

    /**
     * <p>Title:      getAuthorityByRoleIds. </p>
     * <p>Description 根据角色编码查询权限信息</p>
     *
     * @param       roleId  String
     * @return        List
     * @Author        <a href="xinglinglove1029@163.com"/>杨文生</a>
     * @since     2019/6/18 11:36
     */
    List<SysRoleAuthority> selectRoleAuthorityByRoleId(String roleId);

    /**
     * <p>Title:      getBindRoleListByActionId. </p>
     * <p>Description 获取权限字符串所绑定的角色</p>
     *
     * @param         actionId String
     * @return        List<String>
     * @Author        <a href="xinglinglove1029@163.com"/>杨文生</a>
     * @since     2019/9/27 16:26
     */
    List<String> getBindRoleListByActionId(String actionId);

    int deleteByActionId(String actionId);


    int batchInsert(List<SysRoleAuthority> roleAuthorities);
}